home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
C++
/
Frameworks
/
Sprocket Framework DR2
/
Sprocket Framework Interfaces
/
DynamicArray.h
< prev
next >
Wrap
Text File
|
1996-06-12
|
1KB
|
59 lines
// Sprocket Framework header file
// DynamicArray.h
#ifndef _DYNAMICARRAY_
#define _DYNAMICARRAY_
typedef void ArrayElement, *ArrayElementPtr;
typedef unsigned long ArrayElementCount;
typedef unsigned long ArrayElementIndex;
class TDynamicArray
{
public:
TDynamicArray();
virtual ~TDynamicArray();
// insertion & deletion
OSErr Insert(ArrayElementPtr elementToInsert, ArrayElementIndex beforeElement);
OSErr InsertFirst(ArrayElementPtr elementToInsert);
OSErr InsertLast(ArrayElementPtr elementToInsert);
OSErr Delete(ArrayElementIndex whichElement);
OSErr DeleteFirst();
OSErr DeleteLast();
// element accessors
ArrayElementCount GetElementCount() { return fElementCount; };
ArrayElementPtr GetIndexedElement(ArrayElementIndex whichElement);
void SetIndexedElement(ArrayElementIndex whichElement, ArrayElementPtr element);
// iterators
typedef void (*EachArrayElementProc)(ArrayElementPtr element, void * param);
typedef Boolean (*EachArrayElementTestProc)(ArrayElementPtr element, void * param);
void ForEachElement(EachArrayElementProc proc, void * param);
ArrayElementPtr FirstElementThat(EachArrayElementTestProc proc, void * param);
ArrayElementPtr LastElementThat(EachArrayElementTestProc proc, void * param);
OSErr FindAndDeleteElement(ArrayElementPtr element);
OSErr MoveToFront(ArrayElementPtr elementToMove);
protected:
ArrayElementCount fElementCount;
ArrayElementPtr ** fStorage;
};
#endif